package com.itheima.springboot_reggie.dto;

import com.itheima.springboot_reggie.emtity.Dish;
import com.itheima.springboot_reggie.emtity.DishFlavor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.ArrayList;
import java.util.List;

/**
 * 这个DishDTO不仅要有菜品数据，还要有额外的数据，先把Dish的所有数据复制过来，或者直接继承extends Dish
 * 除此还得声明一个categoryName
 *
 *  此时浏览器页面上的菜品表Dish的添加还涉及到菜品口味表Dish_flavor
 *  当前的entity和持久层、数据表交互，dish对于表现层满足不了需求，所以我们新建了DishDTO
 *  DishDTO里面只声明了一个categoryName还不够，还需要加上口味,先复制实体类 DishFlavor到entity包下
 *  然后到 DishDTO类中 再声明下DishFlavor口味的属性 private List <DishFlavor> flavors;
 */

/**
 * 表现层封装数据的实体类：具有Dish的所有属性，还具有分类名称：categoryName;
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DishDTO extends Dish {
    private String categoryName;
    private List<DishFlavor> flavors;
}
